<?php

namespace App\Admin\Forms;

use App\Models\Clue;
use Dcat\Admin\Widgets\Form;
use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Contracts\LazyRenderable;

class ClueFileUploadForm extends Form implements LazyRenderable
{
    use LazyWidget;

    // 处理请求
    public function handle(array $input)
    {
        // 获取外部传递参数
        $id = $this->payload['id'] ?? null;

        Clue::query()->where('id', $id)
            ->update([
                'files' => json_encode(data_get($input, 'files'))
            ]);

        return $this->response()->success('变更信息成功')->refresh();
    }

    public function form()
    {
        // 获取外部传递参数
        $id = $this->payload['id'] ?? null;

        $this->file("files",'附件')->disk("public")
            ->uniqueName()
            ->move("clue_files")
            ->removable(false)
            ->accept('wav,mp4,mp3,wma,mpc')
            ->autoUpload();
    }

    // 返回表单数据，如不需要可以删除此方法
    public function default()
    {
        // 获取外部传递参数
        $files = $this->payload['files'] ?? null;

        return [
            'files' => $files,
        ];
    }
}
